#pragma once

#include "ScriptCompiler/AST/VariableDeclarationNode.h"
#include "ScriptCompiler/ASTBuilder/ASTBuilder.h"

//builds variable declaration node
class CVariableDecalarationBuilder: public IASTBuilder
{

public:
    CVariableDecalarationBuilder(std::shared_ptr<CScriptFileContext> InContext);

    virtual bool ReadCurentToken() override;

    //test if current token is first token of variable declaration 
    static bool DetectVariableDeclaration(std::shared_ptr<CScriptFileContext> InContext);

    std::shared_ptr<CVariableDeclarationNode> Result;
protected:
    std::shared_ptr<CScriptFileContext> Context;

};

